<!-- 
数组的迭代方法：8个
forEach/map/find/findIndex/filter/some/every/reduce

ES6基础：
let/const/ vs var/function
1.使用块作用域
2.没有变量提升
3.在同一个作用域不能重复声明
4.在全局声明不会成为window上的属性

const和let的区别就是不能重复赋值
var/function变量提升的规则：

模板字符串：反引号

优点：
1.支持多行文本，可以换行
2.可以使用产值${表达式}，表达式只能是一句

扩展

与赋值有关(等号右边使用)
使用...扩展数组和对象
...扩展数组的时候要求...对象必须是可以迭代的类型
...扩展对象的时候，...对象

{...'abc'}//{0: 'a', 1: 'b', 2: 'c'}
[...'abc']//['a','b','c']

动态key
const x='a'
const o={a:1,[x]:123}//{a:123}

解构
与被赋值有关(等号左边使用)

步骤：
1.对准解构左右两个的位置
2.判断左边有么有使用默认值
数组中...使用：一定解构出来是数组
对象中...使用：一定解构出来是对象


箭头函数
箭头函数的书写规则:
1.普通的函数转换为箭头函数
2.箭头函数的省略写法：参数只有一个的时候可以省略小括号；语句只有一句的时候可以省略函数体的大括号和return
3.箭头函数和function的区别：箭头函数只能用变量的形式声明 const fn=()=>{},没有fn()=>{}
this指向的区别：
function的this是不固定的，随使用上下文变化
箭头函数的this是固定不变的，箭头函数声明的环境里的this就是箭头函数的this

function的三个函数 apply/call/bind的使用

localStorage
和cookie对比
-存储的大小：localStorage 5mb  cookie 4kb
-数据的生命周期：
-都受同源策略的影响
-cookie优势：兼容性好
localStorage/sessionStorage区别：
localStorage生命周期永久的
sessionStorage会话生命周期

localStorage的方法：setItem() /getItem()/clear()/removeItem()
存:localStorage.setItem(key,JSON.stringify(value))
取：JSON.parse(localStorage.getItem(key))


class

class A{fn(){}} 'function' class是构造方法的语法糖
const a=new A
a.fn()

-实例和类的关系 instanceof
-构造方法不是必须的
-实例的属性/方法
-静态方法 static
-getter/setter



继承 extends
class B extends A{}
-子类和父类的关系
-子类的构造方法的使用 super/this
-子类覆盖父类方法 super.fn()


promise
同步和异步的区别：
同步语句会阻塞运行，异步语句不阻塞

Promise是构造方法，掌握构造方法的使用：
参数是一个自执行函数，函数内容是马上执行(同步)

new Promise((resolve,reject)=>{})

promise实例的三个状态 pending/fulfilled/rejected
状态的转换规则：1.只能转换一次 2.p-f 3.p-r

实例方法：then/catch/finally
掌握参数，和返回值(promise实例)
静态方法：Promise.resolve/Promise.reject
Promise.all/Promise.any/Promise.race/Promise.allSettled

callback函数转换成promise函数


async/await
async修饰function/()=>{},返回的结果是promise实例
await必须用在async函数里或者module顶级环境，
await promise实例的作用：异步转同步，返回promise值



Set/Map





模块

export 带名字导出
export const i=0
export function fn(){}
const a=1
const b=2
export {a,b}
const x=3
export {a,b,x as c}
export 默认值
export default 100
export default function fn(){}
const PI=3.14
export default PI

import带名字得变量导入

import PI, {1,a,c} from './m.js'

import *as all from './js/m.js'

 -->
<script type="module">


</script>